Data storage apparatus that combines a group of continuous data series stored in buffer separately before storing in a recording medium

ABSTRACT

A data storage apparatus that stores data series provided from an exterior system in a recording medium using a buffer memory to reduce the processing time of the data storage. The data series are temporarily stored in the buffer memory separately. If a group of the data series is determined to make a series of data as a whole, the group of the data series is combined, and transferred to the recording medium at one time in order to reduce seek time and rotation wait time from those that would be required if the group of the data series is transferred to the recording medium separately.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention generally relates to a data storageapparatus, a buffer controller, and a method of storing data, and moreparticularly, to a data storage apparatus that stores data provided froman exterior system in a recording medium after storing the data in abuffer temporarily, a buffer controller thereof, and a method of storingdata used therein.

[0003] 2. Description of the Related Art

[0004] A secondary storage device such as a hard disk drive of acomputer usually has a buffer to store data temporarily before the dataare stored in a recording medium (write cache function). The write cachefunction is one of key factors that determine the performance of thesecondary storage device.

[0005] A hard disk drive will be described below as an example of a datastorage apparatus having the write cache function.

[0006]FIG. 1 is a schematic drawing showing a hard disk drive, and FIG.2 is a block diagram showing the hard disk drive.

[0007] A hard disk drive 1 is connected to an upper rank system 2, andstores, in response to a write command provided from the upper ranksystem 2, data transferred from the upper rank system 2 in a magneticrecording disk. The hard disk drive 1 also retrieves, in response to aread command provided from the upper rank system 2, the data stored inthe magnetic recording disk, and transfers the data retrieved from themagnetic recording disk to the upper rank system 2. The hard disk drive1 mainly consists of a circuit board 11 and a disk enclosure 12. Theupper rank system is connected to the circuit board 11.

[0008] The circuit board 11 includes a hard disk drive controller (HDC)21, random access memory (RAM) 22, a read channel (RDC) 23, a microprocessing unit (MPU) 24, read only memory (ROM) 25, and a servocontroller (SVC) 26. On the other hand, the disk enclosure 12 includes amagnetic recording disk 31, a spindle motor 32, a magnetic head 33, avoice coil motor 34, and a head IC 35.

[0009] The hard disk drive controller 21 is connected to MPU 24 and ROM25 through a bus 27, and is controlled by a firmware program stored inROM 25. The hard disk drive controller 21 is further connected to RAM 22that is used as a cache memory to temporarily store the data exchangedbetween the hard disk controller 21 and the upper rank system 2.

[0010] According to the write cache function, the hard disk drivecontroller 21 transfers write data cached in RAM 22 to the read channel23. The read channel 23 generates a recording signal by modulating thewrite data, and transfers the recording signal to the head IC 35.

[0011] The head IC 35 provides a current corresponding to the recordingsignal transferred from the read channel 23 to a magnetic head 33. Themagnetic head 33 generates a magnetic field corresponding to the currentprovided by the head IC, and records the recording signal to themagnetic disk 31 by magnetizing the magnetic disk 31.

[0012] On the other hand, the magnetic head 33 converts a magnetizationof the magnetic disk 31 into a current, and provides the current to thehead IC 35. The head IC 35 generates a reproduced signal correspondingto the current, and transfers the reproduced signal to the read channel23.

[0013] The read channel 23 reproduces read data by demodulating thereproduced signal, and transfers read data to the hard disk controller21. The hard disk controller 21 caches the read data in RAM 22, andtransfers the read data to the upper rank system 2.

[0014] The read channel 23 obtains a servo signal from the reproducedsignal, and provides the servo signal to MPU 24. MPU 24 controls theentire system of the hard disk drive 1 by executing the firmware storedin ROM 25. MPU 24 controls the servo controller 26 using the servosignal provided from the read channel 23. The servo controller 26controls, in response to the control signal provided from MPU 24, thespindle motor 32 and the voice coil motor 34.

[0015] The write cache function performed by the hard disk drivecontroller 21 will be described next.

[0016] The hard disk drive controller 21 caches write data transferredfrom the upper rank system 2 in RAM 22. Upon finishing the receiving ofthe write data from the upper rank system 2, the hard disk drivecontroller 21 informs the upper rank system 2 of the finish. The harddisk drive controller 21 stores the write data cached in RAM 22 in themagnetic recording disk 31 when the cache memory is full. If a pluralityof write data is to be stored at the same address of the magneticrecording disk 31, the write data buffered earlier are abandoned andonly the write data buffered latest are recorded in the magneticrecording disk 31. If a plurality of write data, which makes a series ofcontinuous data, is received separately using respective write commands,the write data are combined and stored in the magnetic recording disk 31as one.

[0017] The write data are stored in the magnetic recording disk 31 inthe order of an address of the write data instead of the order ofreceipt. The arranging of the write data based on the order to anaddress is called re-ordering. The reordering reduces useless seekoperation of the magnetic head 33, and accordingly, improves theperformance of storing the write data in the magnetic recording disk 31(write performance).

[0018] The case in which three computer files each containing more than64 KB (kilo bytes) are stored in the magnetic recording disk 31 isdescribed next.

[0019]FIGS. 3A and 3B are schematic drawings showing the operation ofthe write processing.

[0020] The upper rank system 2 is operated by an operating system (OS)such as Windows, and is set not to store a file containing more than 64KB, or 128 sectors. If the size of a file is more than 64 KB, but 128 KBor less, the operating system divides the file into two files, onecontaining data of 64 KB (128 sectors) and the other containing data ofless than 64 KB, and issues two write commands. If the size of the fileis more than 128 KB (256 sectors), the operating system divides the fileinto three files or more.

[0021] In FIGS. 3A and 3B, the upper rank system 2 has three files to bestored in the magnetic recording disk 31 of the hard disk drive 1. Afile Fa contains data of 71 KB to be stored in a memory area startingwith the address “5055856” in the magnetic recording disk 31. A file Fbcontains data of 72 KB to be stored in a memory area starting with theaddress “5059952” in the magnetic recording disk 31. A file Fc containsdata of 80 KB to be stored in a memory area starting with the address“5051888” in the magnetic recording disk 31.

[0022] Because the file Fa contains data of 71 KB, which is greater than64 KB, the upper rank system 2 issues two write commands C1 and C4 tostore the file Fa in the magnetic recording disk 31.

[0023] Since the file Fb contains data of 72 KB, which is greater than64 KB, the upper rank system 2 issues two write commands C2 and C5 tostore the file Fb in the magnetic recording disk 31.

[0024] Because the file Fc contains data of 80 KB, which is greater than64 KB, the upper rank system 2 issues two write commands C3 and C6 tostore the file Fc in the magnetic recording disk 31.

[0025] The command C1 indicates the storing of write data of adesignated number of sectors, “128”, in a memory area starting from adesignated address “5055856”. The command C2 indicates the storing ofwrite data of a designated number of sectors, “128”, in a memory areastarting from a designated address “5059952”. The command C3 indicatesthe storing of write data of a designated number of sectors, “128”, in amemory area starting from a designated address “5051888”.

[0026] The command C4 indicates the storing of write data of adesignated number of sectors, “14”, in a memory area starting from adesignated address “5055984”. The command C5 indicates the storing ofwrite data of a designated number of sectors, “16”, in a memory areastarting from a designated address “5060080”. The command C6 indicatesthe storing of write data of a designated number of sectors, “32”, in amemory area starting from a designated address “5052016”.

[0027] When the cache memory in RAM 22 is full, the hard disk drivecontroller 21 stores the cached write data in the magnetic recordingdisk 31 (media write operation).

[0028] When the write command C4 is issued, and the cache memory in RAM22 is full as showed in FIG. 3A, the hard disk drive controller 21reorders the cached write data and begins to store the cached write datain the magnetic recording disk 31.

[0029] The hard disk drive controller 21 reorders the cached write datain the order of an address, and performs the media write operation.

[0030] For example, as showed in FIG. 3A, in the first media writeoperation, the write data of 128 sectors corresponding to the writecommand C3 are stored in the memory area starting from the address“5051888” of the magnetic recording disk 31.

[0031] In the second media write operation, the write data of 142sectors corresponding to the write commands C1 and C4 are stored in thememory area starting from the address “5055856” of the magneticrecording disk 31. Since the write data corresponding to the writecommands C1 and C4 are continuous with each other, the write data arecombined into write data containing data of 142 sectors.

[0032] In the third media write operation, the write data of 128 sectorscorresponding to the write command C2 are stored in the memory areastarting from the address “5059952” of the magnetic recording disk 31.

[0033] It is appropriate to assume processing times as follows: seektime 3 ms, rotation wait time 4 ms, and media write time 1.28 ms for thefirst media write operation; seek time 3 ms, rotation wait time 4 ms,and media write time 1.42 ms for the second media write operation; seektime 3 ms, rotation wait time 4 ms, and media write time 1.28 ms for thefirst media write operation. The total processing time in this case is24.98 ms.

[0034] After all cached write data are stored in the magnetic recordingdisk 31, the cache memory in RAM 22 is discharged and becomes ready tocache the next write data. Then, the hard disk controller 21 receivesthe next write commands C5-C9 from the upper rank system 2, and cachesthe next write data corresponding to the commands C5-C9 in the cachememory in RAM 22.

[0035] The hard disk drive controller 21 performs the media writeoperation in the following order.

[0036] As showed in FIG. 3B, in the fourth media write operation, thewrite data of 16 sectors corresponding to the write command C5 arestored in the memory area starting from the address “5060080” of themagnetic recording disk 31.

[0037] In the fifth media write operation, the write data of 32 sectorscorresponding to the write command C6 are stored in the memory areastarting from the address “5052016” of the magnetic recording disk 31.

[0038] Similarly, the write data designated by the write commands C7-C9are stored in the respective memory areas of the magnetic recording disk31.

[0039] The media write operation corresponding to the write command C5can be assumed to require a seek time of 1 ms (to be explained below), arotation wait time of 4 ms, and a media write time of 0.16 ms. The mediawrite operation corresponding to the write command C6 also can beassumed to require a seek time of 3 ms, a rotation wait time of 4 ms,and a media write time of 0.32 ms. Accordingly, the total processingtime would be 37.46 ms.

[0040] In this case, since the write data are stored in the memory areastarting from the address “5059952” in the third media write operation,if the write data designated by the write command C5 are stored in thememory area starting from the address “5060080” before the write datadesignated by the write command C6, the seek time could be reduced.Therefore, in the above estimation of the total processing time, theseek time corresponding to the write command C5 is set at 1 ms insteadof 3 ms.

[0041] The write cache function according to the related art, however,does not take it into account that the upper rank system 2 issues awrite command file by file.

[0042] For example, the total processing time would be 25.46 ms if thefollowing assumption is made: in the first media write operation, thewrite data of 144 sectors corresponding to the write commands C3 and C6are stored in the memory area starting from the address “5051888” of themagnetic recording disk 31; in the second media write operation, thewrite data of 142 sectors corresponding to the write commands C1 and C4are stored in the memory area starting from the address “5055856” of themagnetic recording disk 31; in the third media write operation, thewrite data of 160 sectors corresponding to the write commands C2 and C5are stored in the memory area starting from the address “5059952” of themagnetic recording disk 31.

[0043] The following assumption on the processing times is further made:seek time 3 ms, rotation wait time 4 ms, and media write time 1.44 msfor the first media write operation; seek time 3 ms, rotation wait time4 ms, and media write time 1.42 ms for the second media write operation;seek time 3 ms, rotation wait time 4 ms, and media write time 1.60 msfor the first media write operation. The total processing time in thiscase is 25.46 ms.

[0044] The total processing time, 25.46 ms, in this case is shorter thanthat of the prior case, 37.46 ms, by 12.14 ms.

[0045] This assumption, however, can not be implemented in practicebecause it does not take the memory capacity of the cache memory in RAM22 that temporarily stores write data transferred from the upper ranksystem 2 into account.

[0046] In order to reduce the processing time of the media writeoperations, the hard disk drive controller 21 may be able to receive thewrite commands C5 and C6 while the write data corresponding to the firstwrite command C3 are being stored in the magnetic recording disk 31, andstore the write data corresponding to the write command C6 immediatelyafter the write data corresponding to the write command C3 are stored byextending the media write operation.

[0047] The extension of the media write operation is, however, difficultfrom the technical stand point, and it is not known for sure whether thewrite command C6 is issued before the hard disk drive controller 21finishes storing the write data corresponding to the write command C3 inthe magnetic recording disk 31. This is also difficult to implement inpractice.

SUMMARY OF THE INVENTION

[0048] Accordingly, it is a general object of the present invention toprovide a novel and useful data storage apparatus and buffer controllerin which one or more of the problems described above are eliminated.

[0049] Another and more specific object of the present invention is toprovide a data storage apparatus and a method of storing data thatefficiently store data in a recording medium, and an informationprocessing system comprising said apparatus and using said medium.

[0050] In order to achieve the above objects according to the presentinvention, a data storage apparatus that stores a plurality of dataseries provided from an exterior in a recording medium, includes abuffer unit that temporarily stores said data series separately, and acontrol unit that identifies a group of said data series stored in saidbuffer unit that makes a series of data as a whole, combines said groupof said data series, and stores the combined data series in saidrecording medium prior to the other data series stored in said bufferunit.

[0051] According to the present invention, the data series provided fromthe exterior are temporarily stored in the buffer unit, each data seriesseparately. The control unit determines whether the group of the dataseries stored in the buffer unit is a series of data as a whole. If thegroup of the data series makes a series of data as a whole, the dataseries in the group are combined, and stored in the recording medium ina higher priority than (before) the other data series stored in thebuffer unit.

[0052] Once the data series in the group are stored in the recordingmedium, the data series in the group are discharged from the bufferunit, and new data series are provided to the data storage apparatusfrom the exterior and stored in the buffer unit. The other data seriesstored in the buffer unit and the new data series, if they make a seriesof data as a whole, will be combined and stored in the recording medium.

[0053] Accordingly, because a plurality of data series are stored in therecording medium as a series of continuous data at a time, the seek timeand the rotation wait time can be reduced, which results in an efficientdata storage.

[0054] Other objects, features, and advantages of the present inventionwill become more apparent from the following detailed description whenread in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0055]FIG. 1 is a schematic drawing showing a hard disk drive;

[0056]FIG. 2 is a block diagram showing the entire structure of a harddisk drive;

[0057]FIGS. 3A and 3B are schematic drawings showing the operation ofthe write processing according to the related art;

[0058]FIG. 4 is a flow diagram showing the write processing according toan embodiment of the present invention; and

[0059]FIGS. 5A and 5B are schematic drawings showing the operation ofthe write processing as an embodiment of the present invention.

DETAIL DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0060] A hard disk drive as an embodiment of the present invention willbe described below. The structure of the hard disk drive is identical tothe hard disk drive 1 according to the related art described byreference to FIGS. 1 and 2 except for the write processing performed bythe hard disk drive controller 21. Accordingly, the description of thestructure of the hard disk drive as an embodiment of the presentinvention is omitted. Only the write processing of the hard disk drivewill be explained.

[0061]FIG. 4 is a flow diagram of the write processing as an embodimentof the present invention.

[0062] The hard disk drive controller 21 receives a write command fromthe upper rank system 2 (Step S1-1). In response to the receipt of thewrite command, the hard disk drive controller 21 determines whether thewrite data of the write command can be cached in the cache memory in RAM22 by comparing the size of the write data with the unused memory areaof the cache memory (Step S1-2).

[0063] If the unused memory area of the cache memory is large enough tocache the write data of the write command (Yes branch of Step S1-2), thehard disk drive controller 21 caches the write data of the write commandin the cache memory in RAM 22 (Step S1-3). The hard disk drivecontroller 21 informs the upper rank system 2 of the completion of thewrite command (Step S1-4). The write processing is finished.

[0064] When the unused memory area of the cache memory in RAM 22 becomesless than a predetermined capacity or the data size of the write data ofthe write command, and the caching of the write data is consequentlyimpossible (No branch of Step S1-2), the hard disk drive controller 21informs the upper rank system 2 of a busy state. The hard disk drivecontroller 21 obtains the number of sectors of the write command (StepS1-6).

[0065] The hard disk drive controller 21 determines whether the numberof sectors of the write command (hereinafter, called the first writecommand in the explanation of FIG. 4) is equal to 128 (Step S1-7). Ifthe number of sectors of the first write command is 128 (Step S1-7), thehard disk drive controller 21 further determines whether another writecommand has write data that continuously follows the write data of thefirst write command (Step S1-8).

[0066] If another write command (hereinafter called the second writecommand in the explanation of FIG. 4) has write data that continuouslyfollows the write data of the first write command (Step S1-8), thenumber of sectors of the write data of the second write command isobtained (Step S1-9).

[0067] The hard disk drive controller 21 determines whether the numberof sectors of the write data of the second write command is less than128 (Step S1-10). If the number of sectors of the write data of thesecond write command is less than 128 (Step S1-10), the continuous writedata of both the first write command and the second write command arestored in the magnetic recording disk 31, that is, the hard disk drivecontroller 21 performs a media write operation for the continuous writedata (Step S1-11).

[0068] If the number of sectors of the first write command is not equalto 128 (Step S1-7), if no other write command has write data thatcontinuously follow the write data of the first write command (StepS1-8), or if the number of sectors of the write data of the second writecommand is not less than 128 (Step S1-10), the media write operation isnot performed.

[0069] If the address in the magnetic recording disk 31 at which thewrite data of a received write command is to be stored is the same asthe address at which the write data cached in RAM 22 is to be stored,the write data cached in RAM 22 are discharged and the write data of thereceived write command are cached in RAM 22.

[0070] Furthermore, if the write data of the first write command and thewrite data of the second write command are continuous, both write dataare combined and stored in the magnetic recording disk 31 as a singleseries of write data. The media write operation is performed aftersorting the cached write data in the order of an address in the magneticrecording disk 31.

[0071] Accordingly, since the write data of the first write command andthe write data of the second write command are, if they are continuous,combined and stored in the magnetic recording disk 31, the seek time andthe rotation wait time can be reduced and the media write is performedefficiently.

[0072] The write processing as an embodiment of the present inventionwill be described in detail below.

[0073]FIGS. 5A and 5B are schematic drawings showing the operation ofthe write processing as an embodiment of the present invention.

[0074] In this description, the upper rank system 2 has six files Fa,Fb, Fc, Fx, Fy, and Fz to be stored in the magnetic recording disk 31 ofthe hard disk drive 1.

[0075] A file Fa contains data of 71 KB to be stored in a memory areastarting with the address “5055856” in the magnetic recording disk 31. Afile Fb contains data of 72 KB to be stored in a memory area startingwith the address “5059952” in the magnetic recording disk 31. A file Fccontains data of 80 KB to be stored in a memory area starting with theaddress “5051888” in the magnetic recording disk 31.

[0076] Because the file Fa contains data of 71 KB, which is greater than64 KB that is beyond the file size a write command can handle, the upperrank system 2 issues a write command C11 with which the hard disk drivecontroller 21 stores write data of 128 sectors in the magnetic recordingdisk 31 and a write command C14 with which the hard disk drivecontroller 21 stores write data of 14 sectors in the magnetic recordingdisk 31.

[0077] Since the file Fb contains data of 72 KB, which is greater than64 KB that is beyond the file size a write command can handle the upperrank system 2 issues two write commands C12 and C15 that store writedata of 64 KB (128 sectors) and 8 KB (16 sectors), respectively, tostore the file Fb in the magnetic recording disk 31.

[0078] Because the file Fc contains data of 80 KB, which is greater than64 KB that is beyond the file size a write command can handle the upperrank system 2 issues two write commands C13 and C16 that store writedata of 64 KB (128 sectors) and 16 KB (32 sectors), respectively, tostore the file Fc in the magnetic recording disk 31.

[0079] It should be noted that the upper rank system 2 does notnecessarily issue write commands indicating a series of write data (C11and C14, for example). FIGS. 5A and 5B indicate the case where the writecommands are issued in the order of C11-C16.

[0080] The write command C11 indicates the storing of write data of adesignated number of sectors, “128”, in a memory area starting from adesignated address “5055856”. The write command C12 indicates thestoring of write data of a designated number of sectors, “128”, in amemory area starting from a designated address “5059952”. The writecommand C13 indicates the storing of write data of a designated numberof sectors, “128”, in a memory area starting from a designated address“5051888”.

[0081] The write command C14 indicates the storing of write data of adesignated number of sectors, “14”, in a memory area starting from adesignated address “5055984”. The write command C15 indicates thestoring of write data of a designated number of sectors, “16”, in amemory area starting from a designated address “5060080”. The writecommand C16 indicates the storing of write data of a designated numberof sectors, “32”, in a memory area starting from a designated address“5052016”. All the write commands C11-C16 are provided by the upper ranksystem 2 to the hard disk drive 1.

[0082] Receiving the write command C14, the hard disk drive controller21 begins reordering and performing the media write operation.

[0083] According to the write processing as an embodiment of the presentinvention, the media write operation is performed as follows.

[0084] The write data of the write command C11 and the write data of thewrite command C14 are combined and stored in the 142 sectors startingfrom the address “5055856” in the magnetic recording disk 31 asindicated by the steps S2-1 and S2-2 in FIG. 5A. That is, the file Fahas been stored in the magnetic recording disk. Since the files Fb andFc are not cached completely in RAM 22, those files are not stored inthe magnetic recording disk in this media write operation.

[0085] After being stored in the magnetic recording disk 31, the writedata of the write command C11 and the write data of the write commandC14, both cached in RAM 22 occupying the cache memory area correspondingto 142 sectors in total are discharged, and the cache memory area isready to cache the next write data. The hard disk drive controller 21cancels the busy state.

[0086] In response to the cancellation of the busy state, the upper ranksystem 2 transfers the next command C15.

[0087] The hard disk controller 21 caches the write data of the writecommand C15 in the cache memory area of RAM 22. Because the cache memorystill has unused area of 126 sectors, the hard disk drive controller 21does not inform the upper rank system 2 of a busy state. Since the harddisk drive controller 21 does not indicate a busy state, the upper ranksystem 2 provides the next write command C16 to the hard disk drivecontroller 21.

[0088] The hard disk drive controller 21 receives the write command C16,and caches the write data of the command C16 in the cache memory area ofRAM 22. Since the write data of the write command C16 is 32 sectors, thecache memory of RAM 22 still has unused area of 94 sectors(=126sectors−32 sectors). The hard disk drive controller 21 does not performthe media write operation and does not inform the upper rank system 2 ofa busy state.

[0089] The upper rank system 2 sequentially transfers the write commandsC17, C18, and C19 to the hard disk drive controller 21 until the harddisk drive controller 21 informs the upper rank system 2 of a busystate, that is, the cache memory in RAM 22 cannot cache the write data.

[0090] When the hard disk drive controller 21 becomes unable to cachethe write data of the next write command after caching the write data ofthe write commands C17, C18, and C19, the hard disk drive controller 21informs the upper rank system 2 of the busy state. The upper rank system2 stops, in response to a receipt of the busy state, the transferring ofanother write command.

[0091] The hard disk drive controller 21 stores the write data cached inRAM 22 in the magnetic recording disk 31, that is, performs a mediawrite operation. When the hard disk drive controller 21 receives thewrite commands C15 and C16, the entire write data of the write commandC15 (the file Fb) and the entire write data of the write command C16(the file Fc) are cached in RAM 22.

[0092] Accordingly, as indicated by the steps S2-3 and S2-4 in FIG. 5B,the write data of the write command C14 and the write data of the writecommand C16, both jointly forming the file Fc having upper addresses,are combined and stored in the 144 sectors starting from the address“5051888” in the magnetic recording disk 31.

[0093] In the steps S2-5 and S2-6 indicated in FIG. 5B, the write dataof the write command C12 and the write data of the write command C15,both jointly forming the file Fb having lower addresses, are combinedand stored in the 160 sectors starting from the address “5059952” in themagnetic recording disk 31.

[0094] As described above, the write processing according to the presentinvention stores the write data, which in conventional systems is storedseparately, as a series of continuous write data. Accordingly, the writeprocessing reduces the total processing time by decreasing the seek timeand the rotation wait time.

[0095] The total processing time can be estimated as follows.

[0096] The total processing time is a sum of the time required for themedia write operation of a series of write data of 142 sectors startingfrom the address “5055856” obtained by combining the write data of thewrite command C11 and the write data of the write command C14, the timerequired for the media write operation of a series of write data of 144sectors starting from the address “5051888” obtained by combining thewrite data of the write command C13 and the write data of the writecommand C16, and the time required for the media write operation of aseries of write data of 160 sectors starting from the address “559952”obtained by combining the write data of the write command C12 and thewrite data of the write command C15.

[0097] The media write operation of a series of write data of 142sectors starting from the address “5055856” obtained by combining thewrite data of the write command C11 and the write data of the writecommand C14 requires a seek time of 4 ms, a rotation wait time of 4 ms,and a media write time of 1.42 ms, 9.42 ms in total.

[0098] The media write operation of a series of write data of 144sectors starting from the address “5051888” obtained by combining thewrite data of the write command C13 and the write data of the writecommand C16 requires a seek time of 3 ms, a rotation wait time of 4 ms,and a media write time of 1.44 ms, 8.44 ms in total.

[0099] The media write operation of a series of write data of 160sectors starting from the address “5059952” obtained by combining thewrite data of the write command C12 and the write data of the writecommand C15 requires a seek time of 4 ms, a rotation wait time of 4 ms,and a media write time of 1.60 ms, 9.60 ms in total.

[0100] Accordingly, the total processing time becomes 27.46 ms(=9.42ms+8.44 ms+9.60 ms). The write processing as an embodiment of thepresent invention, the total processing time can be reduced by 10 msfrom the total processing time 37.46 ms according to the related art.

[0101] This description of an embodiment is given based on a hard diskdrive as an example of the data storage apparatus according to thepresent invention. The present invention, however, is not limited to ahard disk drive, but various data storage apparatuses that utilize awrite cache function to perform media write.

[0102] The preferred embodiments of the present invention are describedabove. The present invention is not limited to these embodiments, butvarious variations and modifications may be made without departing fromthe scope of the present invention.

[0103] This patent application is based on Japanese priority patentapplication No. 2001-378426 filed on Dec. 12, 2001, the entire contentsof which are hereby incorporated by reference.

What is claimed is:
 1. A data storage apparatus that stores a pluralityof data series provided from an exterior system in a recording medium,comprising: a buffer unit that temporarily stores said data seriesseparately; and a control unit that identifies a group of said dataseries stored in said buffer unit that makes a series of data as awhole, combines said group of said data series, and stores the combineddata series in said recording medium prior to the other data seriesstored in said buffer unit.
 2. The data storage apparatus as claimed inclaim 1, wherein said control unit determines whether said group of saiddata series makes a series of data as a whole when an unused memory areaof said buffer unit becomes smaller than a predetermined data size.
 3. Adata storage apparatus that stores, in a recording medium, a pluralityof data blocks provided from an exterior system, each data block beingsmaller than a predetermined data size, comprising: a buffer unit thattemporarily stores said data blocks separately; and a control unit thatidentifies a group of said data blocks that form a data file, and storessaid data blocks as a series of data in said recording medium prior tothe other data blocks stored in said buffer unit.
 4. The data storageapparatus as claimed in claim 3, wherein said control unit determineswhether said group of said data blocks form said data file when anunused memory area of said buffer unit becomes smaller than apredetermined data size.
 5. The data storage apparatus as claimed inclaim 2, wherein said control unit does not store the combined dataseries in said recording medium until said unused memory area of saidbuffer unit becomes smaller than said predetermined data size.
 6. Thedata storage apparatus as claimed in claim 4, wherein said control unit,after said group of said data blocks is stored in said recording medium,leaves the other data blocks in said buffer unit, discharges said groupof said data blocks stored in said buffer unit, and stores other datablocks provided from said exterior system in an unused memory area ofsaid buffer unit.
 7. The data storage apparatus as claimed in claim 3,wherein said control unit determines an order of storing said datablocks so that a time required for the storing of said data blocks isminimized.
 8. A buffer controller that stores a plurality of data seriesprovided from an exterior system in a buffer memory and transfers saiddata series to a recording medium, comprising: a control unit thatidentifies a group of said data series stored in said buffer memory thatmakes a series of data as a whole, combines said group of said dataseries, and transfers the combined data series to said recording mediumprior to the other data series stored in said buffer memory.
 9. Thebuffer controller as claimed in claim 8, wherein said control unitdetermines whether said group of said data series makes a series of dataas a whole when an unused memory area of said buffer memory becomessmaller than a predetermined data size.
 10. A buffer controller thatstores a plurality of data blocks provided from an exterior system, eachdata block being smaller than a predetermined data size, in a buffermemory and transfers said data blocks to a recording medium, comprisinga control unit that identifies a group of said data blocks temporarilystored in said buffer memory that forms a data file, and transfers saiddata file as a series of data to said recording medium prior to theother data blocks stored in said buffer memory.
 11. The buffercontroller as claimed in claim 10, wherein said control unit determineswhether said group of said data blocks form said data file when anunused memory area of said buffer memory becomes smaller than apredetermined data size.
 12. The data storage apparatus as claimed inclaim 9, wherein said control unit does not transfer the combined dataseries to said recording medium until said unused memory area of saidbuffer memory becomes smaller than said predetermined data size.
 13. Thebuffer controller as claimed in claim 11, wherein said control unit,after said group of said data blocks is transferred to said recordingmedium, leaves the other data blocks in said buffer memory, dischargessaid group of said data blocks stored in said buffer memory, and storesother data blocks provided from said exterior system in an unused memoryarea of said buffer memory.
 14. The data storage apparatus as claimed inclaim 10, wherein said control unit determines an order of transferringsaid data blocks so that a time required for the transferring of saiddata blocks is minimized.
 15. A method of storing a plurality of dataseries provided from an exterior system in a recording medium bytemporarily storing said data series in a buffer, comprising: a step ofstoring said data series in said buffer; a step of identifying a groupof said data series stored in said buffer that makes a series of data asa whole; a step of combining said group of said data series; and a stepof storing the combined data series in said recording medium prior tothe other data series stored in said buffer.